As millions of financial and non-financial transactions are received or created at a financial institution, such transactions often traverse through a number of computer systems for processing, each of which may process individual transactions according to specific purposes as dictated by the institution, the customers, and various other entities. A transaction may be received by one particular financial institution's computer system, verified by another for authenticity, and processed by yet others for various financial and systematic purposes. Indeed, each transaction may be read, processed, and transformed into different formats by a plurality of systems, of a financial institution, multiple times during its lifespan. In such workflows, with numerous systems transforming, modifying or deleting transactional data, errors can—and often do—occur. Even subtle or minor changes within a transaction can ultimately have substantial client impact and cause unforeseeable and catastrophic results.
When the legacy systems of a financial institution are upgraded or replaced by newer and more modern systems, the functionality of the systems must be maintained and negative client impact must be minimized. In order to ensure proper operations, one method utilized in the industry has been to verify that the outputs of these new systems at each step of a workflow (i.e., the transactions outputted at each system), are accurate by ensuring that the outputs are consistent with the outputs of the legacy systems they are replacing. Yet, the only known and utilized manners of verifying the integrity of these transactions are through methods that are largely manual in nature. An analyst may manually check that each field of a transaction has not been erroneously modified as it traverses from one system to next. Alternatively, an analyst may copy text of transactions to text documents and utilize text-compare software to determine differences in the text.
With millions of transactions processed by each system of a financial institution, the currently utilized manual methods of verifying the proper operations of the transactions is inefficient, to say the least. Furthermore, each individual system of a financial institution may receive and process a number of distinct data files and file types over a number of different channels. When this is combined with the large number of possible errors and error types that may occur at each system, including those that may be unique only to a particular computer system or a version of the system, proper and efficient verification of system operations through manual means is made even more difficult, if not impossible.
Accordingly, a solution is needed to efficiently and accurately verify the integrity of the transactions as they are processed by various systems of a financial institution. Such solutions would be invaluable in verifying the proper operations of new or upgraded systems of financial institutions as well as the proper operations of existing systems along a workflow.
In one aspect of the present invention, a transaction clearing system for verifying a plurality of transactions at a plurality of transaction systems is disclosed to include a user interface engine and a central clearing engine. The central clearing engine may be configured for processing a plurality of transactions. In particular, it may retrieve transaction data of at least one transaction of the plurality of transactions from at least one data source based on a selection received by the user interface engine and may parse such transaction data. After parsing the transaction data, the central clearing engine may verify transaction data integrity based on the transaction data and determine a result, and generate a report based on the result. In addition, the user interface engine not only facilitates the receiving of user selections for verifying a plurality of transactions (so as to verify the transactions), but further provides the report.
Embodiments of the present invention allow fir a user to select, via the user interface engine, a selection of a plurality of testing transactions, a workflow, or a selection of transaction systems from which transaction verification may be completed. For example, where the user selects a plurality of testing transactions, such transactions may be retrieved from one or more data sources. Where the user selects a workflow, the transactions that traverse such workflows may be retrieved from one or more data sources. Similarly, where the user selects one or more transaction systems, transactions from such transaction systems may be retrieved. In one embodiment, the central clearing engine retrieves transaction data from at least two sources: first transaction data from a first transaction system and second transaction data from a second transaction system for processing.
The transaction clearing system may perform the verification of transaction integrity by comparing the first transaction data with the second transaction data. Numerous methods of comparison may be performed, including comparing the transaction data on a letter-by-letter basis and on a bit-by-bit basis. The central clearing engine may also compare the first transaction data and the second transaction data based on business logic by comparing the fields of the first and second transaction data. In one embodiment, the comparison of the first transaction data and the second transaction data is further in accordance with a common unique identifier of the first and second transaction data.
In addition to verifying transaction integrity by comparing the first transaction data with the second transaction data, the transaction clearing system may also be configured to verify transaction data integrity based on integrity rules or transaction standards. In one embodiment, the system may determine the results of the transaction integrity verification based on a pass/fail determination.
Further, in at least another embodiment, the transaction clearing system further includes a system model database that stores transaction model data of the plurality of transaction systems. In such embodiments, the central clearing engine may parse the transaction data and/or retrieve transaction data based on the transaction model data. Further, in one embodiment, the transaction clearing engine may parse the plurality of transactions into a plurality of transactions and parse each transaction of the plurality of transactions into a plurality of fields.
In another aspect of the present invention, a clearing system for verifying a plurality of transactions at a plurality of transaction systems is disclosed. The clearing system includes a central clearing engine for processing transactions and performs at least the steps of retrieving transaction data of the plurality of transactions from at least one data source based on a received selection and verifying transaction data integrity based on the transaction data from the at least one data source. Also, the central clearing engine verifies the transaction data based on information from at least one system modeling database. In addition, a user interface engine is included as part of the clearing system to receive a selection for verifying a plurality of transactions at a plurality of transaction systems and providing a report.
In yet another aspect, a computer-controlled method for verifying a plurality of transactions at a plurality of transaction systems is disclosed. The method includes the step of receiving a selection for verifying a plurality of transactions and retrieving transaction data of the plurality of transactions from at least one data source based on a received selection. Further, the transaction data is parsed and the transaction data is verified for transaction data integrity. Further, the method includes the step of determining the results and generating a report from the results.